﻿using System;

namespace Eassets.Layered.Domain.Asset
{
    [Serializable]
   public class AssetProcurementDetails
    {

        #region Fields

        /// <summary>
        /// The Asset Procurement Details Id of the AssetProcurementDetails.
        /// </summary>
        private long assetProcurementDetailsId;
        /// <summary>
        /// The Transaction Id of the AssetProcurementDetails.
        /// </summary>
        private long transactionId;
        /// <summary>
        /// The Transaction Line of the AssetProcurementDetails.
        /// </summary>
        private int transactionLine;
        /// <summary>
        /// The Asset Code of the AssetProcurementDetails.
        /// </summary>
        private string assetCode = string.Empty;
        /// <summary>
        /// The Asset Serial Code of the AssetProcurementDetails.
        /// </summary>
        private string assetSerialCode = string.Empty;
        /// <summary>
        /// The Serial Quantity of the AssetProcurementDetails.
        /// </summary>
        private int serialQuantity;
        /// <summary>
        /// The Unit Price of the AssetProcurementDetails.
        /// </summary>
        private decimal unitPrice;
        /// <summary>
        /// The Total Price of the AssetProcurementDetails.
        /// </summary>
        private decimal totalPrice;
        /// <summary>
        /// The New Life Time of the AssetProcurementDetails.
        /// </summary>
        private int newLifeTime;

        
        private Category category;

        #endregion

        #region Properties


        /// <summary>
        /// Gets or sets the Asset Procurement Details Id of the AssetProcurementDetails.
        /// </summary>
        /// <value>
        /// The Asset Procurement Details Id of the AssetProcurementDetails.
        /// </value>
        public long AssetProcurementDetailsId
        {
            get
            {
                return this.assetProcurementDetailsId;
            }
            set
            {
                this.assetProcurementDetailsId = value;
            }
        }

        /// <summary>
        /// Gets or sets the Transaction Id of the AssetProcurementDetails.
        /// </summary>
        /// <value>
        /// The Transaction Id of the AssetProcurementDetails.
        /// </value>
        public long TransactionId
        {
            get
            {
                return this.transactionId;
            }
            set
            {
                this.transactionId = value;
            }
        }

        /// <summary>
        /// Gets or sets the Transaction Line of the AssetProcurementDetails.
        /// </summary>
        /// <value>
        /// The Transaction Line of the AssetProcurementDetails.
        /// </value>
        public int TransactionLine
        {
            get
            {
                return this.transactionLine;
            }
            set
            {
                this.transactionLine = value;
            }
        }

        /// <summary>
        /// Gets or sets the Asset Code of the AssetProcurementDetails.
        /// </summary>
        /// <value>
        /// The Asset Code of the AssetProcurementDetails.
        /// </value>
        public string AssetCode
        {
            get
            {
                return this.assetCode;
            }
            set
            {
                this.assetCode = value;
            }
        }

        /// <summary>
        /// Gets or sets the Asset Serial Code of the AssetProcurementDetails.
        /// </summary>
        /// <value>
        /// The Asset Serial Code of the AssetProcurementDetails.
        /// </value>
        public string AssetSerialCode
        {
            get
            {
                return this.assetSerialCode;
            }
            set
            {
                this.assetSerialCode = value;
            }
        }

        /// <summary>
        /// Gets or sets the Serial Quantity of the AssetProcurementDetails.
        /// </summary>
        /// <value>
        /// The Serial Quantity of the AssetProcurementDetails.
        /// </value>
        public int SerialQuantity
        {
            get
            {
                return this.serialQuantity;
            }
            set
            {
                this.serialQuantity = value;
            }
        }

        /// <summary>
        /// Gets or sets the Unit Price of the AssetProcurementDetails.
        /// </summary>
        /// <value>
        /// The Unit Price of the AssetProcurementDetails.
        /// </value>
        public decimal UnitPrice
        {
            get
            {
                return this.unitPrice;
            }
            set
            {
                this.unitPrice = value;
            }
        }

        /// <summary>
        /// Gets or sets the Total Price of the AssetProcurementDetails.
        /// </summary>
        /// <value>
        /// The Total Price of the AssetProcurementDetails.
        /// </value>
        public decimal TotalPrice
        {
            get
            {
                return this.totalPrice;
            }
            set
            {
                this.totalPrice = value;
            }
        }

        /// <summary>
        /// Gets or sets the New Life Time of the AssetProcurementDetails.
        /// </summary>
        /// <value>
        /// The New Life Time of the AssetProcurementDetails.
        /// </value>
        public int NewLifeTime
        {
            get
            {
                return this.newLifeTime;
            }
            set
            {
                this.newLifeTime = value;
            }
        }

       
         public Category Category
        {
            get
            {
                return this.category;
            }
            set
            {
                this.category = value;
            }
        }
        #endregion
    }
}
